package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.core.domain.BaseVo;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 行政合同
 * </p>
 * @author WuZH
 * @since 2024-08-25
 */
@Data
@TableName ("erp_contract_admin_info")
@ApiModel (value = "ContractAdminEntity对象", description = "行政合同")
public class ContractAdminEntity extends BaseVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ("id")
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty ("组织公司")
    @TableField ("org_id")
    private String orgId;

    @ApiModelProperty ("合同名称")
    @TableField ("contract_name")
    private String contractName;

    @ApiModelProperty ("合同编号")
    @TableField ("contract_number")
    private String contractNumber;

    @ApiModelProperty ("供应商")
    @TableField ("supplier_id")
    private String supplierId;

    @ApiModelProperty ("签订日期")
    @TableField ("sign_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    private Date signTime;

    @ApiModelProperty ("起始日期")
    @TableField ("start_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    private Date startTime;

    @ApiModelProperty ("结束日期")
    @TableField ("end_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    private Date endTime;

    @ApiModelProperty ("合同金额")
    @TableField ("money")
    private String money;

    @ApiModelProperty ("合同金额大写")
    @TableField ("money_upper")
    private String moneyUpper;

    @ApiModelProperty ("税率")
    @TableField ("tax_rate")
    private String taxRate;

    @ApiModelProperty ("不含税金额")
    @TableField ("tax_money")
    private String taxMoney;

    @ApiModelProperty ("保证金比例")
    @TableField ("margin_rate")
    private String marginRate;

    @ApiModelProperty ("备注")
    @TableField ("remarks")
    private String remarks;

    @ApiModelProperty ("合同类型;1:行政人事合同;")
    @TableField ("type")
    private Integer type;

    @ApiModelProperty ("有效期时间，单价合同在此期间内可以做修改，过期自动关闭")
    @TableField ("validity_time")
    private Date validityTime;

    @ApiModelProperty ("是否含税；1：是；2：否")
    @TableField ("is_include_tax")
    private Integer isIncludeTax;

    @ApiModelProperty ("是否价外税；1：是；2：否")
    @TableField ("is_extra_price_tax")
    private Integer isExtraPriceTax;

    @ApiModelProperty ("合同总金额本位币")
    @TableField ("total_amount_currency")
    private String totalAmountCurrency;

    @ApiModelProperty ("是否作废；1：正常；2：作废")
    @TableField ("is_cancel")
    private Integer isCancel;

    @ApiModelProperty ("流程状态")
    @TableField ("state")
    private String state;

    @ApiModelProperty ("审批流Id")
    @TableField ("instance_id")
    private String instanceId;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("更新人")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("更新时间")
    @TableField ("update_time")
    private Date updateTime;

    @ApiModelProperty ("是否在用")
    @TableField ("is_used")
    private Integer isUsed;

    @ApiModelProperty ("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty ("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty ("组织架构名称")
    @TableField (exist = false)
    private String orgName;

    @ApiModelProperty ("供应商名称")
    @TableField (exist = false)
    private String supplierName;

    @ApiModelProperty ("税率名称")
    @TableField (exist = false)
    private String taxRateName;

}
